perm filename FLTR[1,LCS] blob
sn#305778 filedate 1977-09-19 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 ARRAY AMP(12) < NEXT SETS UP SPECTRUM OF HARMONICS.
C00005 ENDMK
C⊗;
ARRAY AMP(12); < NEXT SETS UP SPECTRUM OF HARMONICS.
FUNCTION FLTINI(A,B,C,D,E,F,G,H,I,J);
BEGIN AMP(1)←A;AMP(2)←B;AMP(3)←C;AMP(4)←D;AMP(5)←E;
AMP(6)←F;AMP(7)←G;AMP(8)←H;AMP(9)←I;AMP(10)←J; END;
FUNCTION FLTR(ARRAY FUNC); COMMENT: THIS REDUCES HARMS WHEN GOING UP.;
BEGIN ARRAY AX(12);
VARIABLE Z,K,XX,HX,XY,XK,KX,JX,WW;
FOR KX←1 STEP 1 UNTIL 10 DO BEGIN
AX(KX)←AMP(KX); END;
FOR KX←2 STEP 1 UNTIL 10 DO BEGIN
IF P3*(KX+1) > SRATE/2 THEN BEGIN
AX(KX+1)←0;
Z←1-P3*(KX)/(SRATE/2);
IF Z<0 THEN Z←0;
IF Z>AX(KX) THEN Z←AX(KX);
AX(KX)←Z;
END;
END;
JX←0; FOR KX←1 STEP 1 UNTIL 10 DO BEGIN
JX←JX+AX(KX);END;
IF JX=WW THEN RETURN;
WW←JX;
FOR JX ← 0 STEP 1 UNTIL 511 DO BEGIN
FUNC(JX) ← 0;
END; COMMENT: CLEAR THE ARRAY;
HX←360/512;
FOR XY ←1 STEP 1 UNTIL 10 DO
BEGIN K←0;
FOR JX ← 0 STEP 1 UNTIL 511 DO
BEGIN
XK ← SIND(K*HX) * AX(XY);
FUNC(JX) ← FUNC(JX) + XK ;
K ← K+XY; IF K > 512 THEN K ← K-512;
END;
END;PRINT " SYNTH ARRAY ",AX(1),AX(2),AX(3),AX(4),AX(5),
AX(6),AX(7),AX(8),AX(9),AX(10);
XY ← FUNC(0); COMMENT: NEXT FOR NORMALIZATION;
FOR JX ← 1 STEP 1 UNTIL 511 DO BEGIN HX ← ABS(FUNC(JX));
IF XY < HX THEN XY ← HX; END;
FOR JX ← 0 STEP 1 UNTIL 511 DO BEGIN FUNC(JX) ← FUNC(JX) / XY ; END;
END;
P3←1000; FLTINI(1,1,1,1,1,1,1,1,1,1);FLTR(F3);
P3←500;FLTR(F3);